The present invention relates to a computer system, and more particularly to a method, system, and product for providing calendar-based dynamic contact information as an enhancement to directory search results.
Calendars, and electronic calendars in particular, often contain a wealth of information about their owner. For example, an individual may use an electronic calendar to maintain information about his work schedule, his meetings and other appointments, his vacation and business travel plans (including when he will be away, which flights or other transportation he will use, where he can be reached while away, who he may visit while away, etc.), phone calls that need to be made at particular times, and so forth. Examples of electronic calendaring systems include Microsoft Outlook 2000, Lotus Organizer, and Lotus Notes. Such systems are quite popular among users. “Outlook” is a trademark of Microsoft Corporation. Lotus Organizer and Lotus Notes are trademarks of Lotus Development Corporation.
Use of electronic calendaring systems for purposes such as scheduling meetings of multiple persons is known in the art. For example, an invitation list may be created for a particular meeting, and a calendaring software application may then use this list to check each invitee's calendar for available time periods. A meeting may then be scheduled during a time period in which all, or some majority, of the invitees have sufficient time available on their calendar. However, it is desirable to more fully exploit the information stored in the calendaring system.
An automated system is described in the Applicants' related patent applications whereby electronic calendar-based engines are used to drive other software applications and agents, such as software agents that respond to e-mail and telephone calls and provide automated responses regarding the recipient's current availability. The automated system maintains a database of dynamically updated contact information for a plurality of people or other entities as trucks or airplanes. The automated system accesses the dynamic contact service in order to determine a recipient's current availability. For example, the automated system may determine, utilizing the dynamic contact database, when the person is out of the office and could automatically generate the appropriate responses to incoming e-mails, telephone calls, etc., during the duration that the person is out of the office.
The automated system obtains information about a person's status, such as “in the office”, “out of the office”, “outside working hours”, etc., from the individual's calendar. The automated system then combines this status information with preferences specified by this person that describe how the person could be contacted most immediately, an alternate contact, the frequency with which the person accesses voice mail and/or e-mail, and other information. The combined information obtained from the calendar and the preferences information is either stored in the dynamic contact database or derived real-time.
Directories and directory searches are known in the art. Directory information typically includes a person's telephone number, address, a fax number, and other information that tends to change very infrequently. People may execute directory searches to retrieve this static directory data for a person or group of people many times in an attempt to contact the person via telephone, in-person, or by some alternative means. While obtaining the information from the directory can be easily accomplished using the directory search capabilities, contacting the people may not be as easy. The problem associated with contacting people can be best appreciated by an example.
Suppose a user utilizes a Knowledge Management (KM) system to obtain a list of experts in a particular field. The KM system provides a list of twenty names. The user must then use the directory to obtain the phone numbers for these people. The user may then attempt to call each of these twenty people. If the user is unable to reach any of these people by telephone, the user must then attempt to locate the people, such as by reading their calendars or contacting their managers.
Therefore, a need exists for a method, system, and product that enhances directory search results with calendar-based dynamic contact information.